#ifndef WINDOW_INCLUDED
#define WINDOW_INCLUDED

#pragma once

#include "WindowClassType.h"
#include <string>

class Window
{
public:
	Window(const std::string& title, int width = 800, int height = 600);

	const std::string& GetTile() const;
	int GetWidth() const;
	int GetHeight() const; 
	HWND GetHandle() const;
private:
	std::string m_Title;
	int m_Width;
	int m_Height;
	HWND m_Handle;
	

	LRESULT WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
	static Win32::WindowClassType<Window, &WndProc> m_WCT;
};

#endif